package org.tik.mybatis.session;

import org.tik.mybatis.builder.xml.XMLConfigBuilder;
import org.tik.mybatis.session.defaults.DefaultSqlSessionFactory;

import java.io.Reader;

/**
 * SqlSessionFactory的建造器，完成对配置文件的解析，并注册映射器，串联出整个核心流程的脉络。
 *
 * @ClassName: SqlSessionFactoryBuilder
 * @author: pengwei
 * @data 2022年10月11日 19:19:00
 */
public class SqlSessionFactoryBuilder {

    public SqlSessionFactory build(Reader reader) {
        XMLConfigBuilder xmlConfigBuilder = new XMLConfigBuilder(reader);
        return build(xmlConfigBuilder.parse());
    }

    public SqlSessionFactory build(Configuration configuration) {
        return new DefaultSqlSessionFactory(configuration);
    }
}
